<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    const arr = [1, 2, 3, 4, 5];

    for (const item of arr) {
        console.log(item);
    }
    console.log(Array.prototype[Symbol.iterator]);

    console.log('=========================');


    /* 自己伪造一个类数组  1. 下标0-长度-1 2. 长度 */

    const likeArr = {
        0: 12,
        1: 24,
        2: 38,
        3: 46,
        4: 15,
        length: 5,
        /* 自己去给对象增加一个  Symbol.iterator，属性的值我们借用 数组的 Array.prototype[Symbol.iterator] */
        /* 是否可以自己去写一个 对象的 for of 遍历，通过刚才借用我们发现，只要对象有 Symbol.iterator 属性， 可以实现遍历 */
        [Symbol.iterator]: Array.prototype[Symbol.iterator]
    }

    console.log('likeArr', likeArr);

    /* likeArr is not iterable */
    for (const item of likeArr) {
        console.log(item);
    }


</script>

</html>